package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 管辖资产对象 assets
 *
 * @author ruoyi
 * @date 2025-08-17
 */
public class Assets extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  自增主键，用于唯一标识每条资产记录 */
    private Long assetsId;

    /**  资产编号 */
    @Excel(name = "资产编号")
    private String assetNumber;

    /**  资产名称 */
    @Excel(name = "资产名称")
    private String assetName;

    /**  信息卡分类 */
    @Excel(name = "信息卡分类")
    private String infoCardCategory;

    /**  资产分类 */
    @Excel(name = "资产分类")
    private String assetCategory;

    /**  资产分类编码 */
    @Excel(name = "资产分类编码")
    private String assetCategoryCode;

    /**  资产门类 */
    @Excel(name = "资产门类")
    private String assetClass;

    /**  数量/面积 */
    @Excel(name = "数量/面积")
    private String quantityArea;

    /**  取得方式 */
    @Excel(name = "取得方式")
    private String acquisitionMethod;

    /**  取得日期（可根据实际存储格式调整） */
    @Excel(name = "取得日期")
    private String acquisitionDate;

    /**  单位名称 */
    @Excel(name = "单位名称")
    private String unitName;

    /**  清查编号 */
    @Excel(name = "清查编号")
    private String inventoryNumber;

    /**  业务状态 */
    @Excel(name = "业务状态")
    private String businessStatus;

    /**  资产状态 */
    @Excel(name = "资产状态")
    private String assetStatus;

    /**  管理部门 */
    @Excel(name = "管理部门")
    private String managementDepartment;

    /**  管理人 */
    @Excel(name = "管理人")
    private String manager;

    /**  使用人 */
    @Excel(name = "使用人")
    private String usingPerson;

    /**  使用部门，可为空 */
    @Excel(name = "使用部门")
    private String usingDepartment;

    /** 操作人 */
    @Excel(name = "操作人")
    private Long op;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date opDate;

    /**  资产原值（元）/账面价值，小数类型，精度为 15，小数位为 2 */
    @Excel(name = "资产原值（元）/账面价值")
    private String originalValue;

    /** 折旧/摊销状态 */
    @Excel(name = "折旧/摊销状态")
    private String depreciationAmortizationStatus;

    public String getUsingPerson() {
        return usingPerson;
    }

    public void setUsingPerson(String usingPerson) {
        this.usingPerson = usingPerson;
    }

    public void setAssetsId(Long assetsId)
    {
        this.assetsId = assetsId;
    }

    public Long getAssetsId()
    {
        return assetsId;
    }
    public void setAssetNumber(String assetNumber)
    {
        this.assetNumber = assetNumber;
    }

    public String getAssetNumber()
    {
        return assetNumber;
    }
    public void setAssetName(String assetName)
    {
        this.assetName = assetName;
    }

    public String getAssetName()
    {
        return assetName;
    }
    public void setInfoCardCategory(String infoCardCategory)
    {
        this.infoCardCategory = infoCardCategory;
    }

    public String getInfoCardCategory()
    {
        return infoCardCategory;
    }
    public void setAssetCategory(String assetCategory)
    {
        this.assetCategory = assetCategory;
    }

    public String getAssetCategory()
    {
        return assetCategory;
    }
    public void setAssetCategoryCode(String assetCategoryCode)
    {
        this.assetCategoryCode = assetCategoryCode;
    }

    public String getAssetCategoryCode()
    {
        return assetCategoryCode;
    }
    public void setAssetClass(String assetClass)
    {
        this.assetClass = assetClass;
    }

    public String getAssetClass()
    {
        return assetClass;
    }
    public void setQuantityArea(String quantityArea)
    {
        this.quantityArea = quantityArea;
    }

    public String getQuantityArea()
    {
        return quantityArea;
    }
    public void setAcquisitionMethod(String acquisitionMethod)
    {
        this.acquisitionMethod = acquisitionMethod;
    }

    public String getAcquisitionMethod()
    {
        return acquisitionMethod;
    }
    public void setAcquisitionDate(String acquisitionDate)
    {
        this.acquisitionDate = acquisitionDate;
    }

    public String getAcquisitionDate()
    {
        return acquisitionDate;
    }
    public void setUnitName(String unitName)
    {
        this.unitName = unitName;
    }

    public String getUnitName()
    {
        return unitName;
    }
    public void setInventoryNumber(String inventoryNumber)
    {
        this.inventoryNumber = inventoryNumber;
    }

    public String getInventoryNumber()
    {
        return inventoryNumber;
    }
    public void setBusinessStatus(String businessStatus)
    {
        this.businessStatus = businessStatus;
    }

    public String getBusinessStatus()
    {
        return businessStatus;
    }
    public void setAssetStatus(String assetStatus)
    {
        this.assetStatus = assetStatus;
    }

    public String getAssetStatus()
    {
        return assetStatus;
    }
    public void setManagementDepartment(String managementDepartment)
    {
        this.managementDepartment = managementDepartment;
    }

    public String getManagementDepartment()
    {
        return managementDepartment;
    }
    public void setManager(String manager)
    {
        this.manager = manager;
    }

    public String getManager()
    {
        return manager;
    }
    public void setUsingDepartment(String usingDepartment)
    {
        this.usingDepartment = usingDepartment;
    }

    public String getUsingDepartment()
    {
        return usingDepartment;
    }
    public void setOp(Long op)
    {
        this.op = op;
    }

    public Long getOp()
    {
        return op;
    }
    public void setOpDate(Date opDate)
    {
        this.opDate = opDate;
    }

    public Date getOpDate()
    {
        return opDate;
    }
    public void setOriginalValue(String originalValue)
    {
        this.originalValue = originalValue;
    }

    public String getOriginalValue()
    {
        return originalValue;
    }
    public void setDepreciationAmortizationStatus(String depreciationAmortizationStatus)
    {
        this.depreciationAmortizationStatus = depreciationAmortizationStatus;
    }

    public String getDepreciationAmortizationStatus()
    {
        return depreciationAmortizationStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("assetsId", getAssetsId())
            .append("assetNumber", getAssetNumber())
            .append("assetName", getAssetName())
            .append("infoCardCategory", getInfoCardCategory())
            .append("assetCategory", getAssetCategory())
            .append("assetCategoryCode", getAssetCategoryCode())
            .append("assetClass", getAssetClass())
            .append("quantityArea", getQuantityArea())
            .append("acquisitionMethod", getAcquisitionMethod())
            .append("acquisitionDate", getAcquisitionDate())
            .append("unitName", getUnitName())
            .append("inventoryNumber", getInventoryNumber())
            .append("businessStatus", getBusinessStatus())
            .append("assetStatus", getAssetStatus())
            .append("managementDepartment", getManagementDepartment())
            .append("manager", getManager())
            .append("usingDepartment", getUsingDepartment())
            .append("op", getOp())
            .append("opDate", getOpDate())
            .append("originalValue", getOriginalValue())
            .append("depreciationAmortizationStatus", getDepreciationAmortizationStatus())
            .toString();
    }
}
